package com.chonor.mall.util;

import cn.hutool.core.util.ReflectUtil;
import com.chonor.mall.enums.GenderEnum;
import com.google.common.base.Strings;

import java.util.Objects;

public class EnumUtil {

    public static Integer getCode(Class<? extends Enum<?>> clazz, String message){
        if(Strings.isNullOrEmpty(message)) return null;
        final Enum<?>[] enums = clazz.getEnumConstants();
        if (null == enums) {
            return null;
        }
        for (Enum<?> e : enums) {
            if(message.equals(ReflectUtil.getFieldValue(e, "message"))){
                return (Integer) ReflectUtil.getFieldValue(e, "code");
            }
        }
        return null;
    }

    public static String getMessage(Class<? extends Enum<?>> clazz, Integer code){
        if(Objects.isNull(code)) return null;
        final Enum<?>[] enums = clazz.getEnumConstants();
        if (null == enums) {
            return null;
        }
        for (Enum<?> e : enums) {
            if(code.equals(ReflectUtil.getFieldValue(e, "code"))){
                return (String) ReflectUtil.getFieldValue(e, "message");
            }
        }
        return null;
    }

}
